package ar.uba.fi.taller2.cmmiassistant.observador;

import java.util.Collection;

/**
 * Interfaz que define el comportamiento agregado a las entidades del modelo a
 * partir del "inter-type definition".
 * 
 */
public interface Observable {

    /**
     * post: registra a <code>observador</code> como Observador de la entidad.
     */
    void addObservador(Observador observador);

    /**
     * post: retira a <code>observador</code> del conjunto de Observadores de
     * la entidad.
     */
    void removeObservador(Observador observador);

    /**
     * 
     * @return Observadores de la entidad.
     */
    Collection<Observador> getObservadores();
}
